package top.hmtools.mapper.plus.mysql;

import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Param;

import tk.mybatis.mapper.annotation.RegisterMapper;

@RegisterMapper
public interface IDeleteMapperPlus<T> {

	//################################  删
	
		/**
		 * 指定主键名称（Java类字段名字符串），主键集合，删除指定记录集合
		 * <br><b>注意：key 是否 null，是否 空字符串。ids 是否 null，是否部分含有空字符串，是否全部空字符串,是否长度为 0</b>
		 * <br>入参均不得为null或者为空，为防止造成误删除数据，目前采用SQL语句错误方式处理（“where”后面无内容）
		 * @param key
		 * @param ids
		 * @return
		 */
		@DeleteProvider(type = DeleteMapperPlusProvider.class,method="dynamicSQL")
		Integer delSomeByPk(@Param(value="key")String key,@Param(value="ids")String... ids);
		
		/**
		 * 根据条件，删除指定记录集合
		 * <br><b>注意：condition 是否为null，condition中是否部分属性为null，空字符串；condition中是否全部属性为null，空字符串</b>
		 * <br>入参均不得为null或者为空，为防止造成误删除数据，目前采用SQL语句错误方式处理（“where”后面无内容）
		 * @param condition
		 * @return
		 */
		@DeleteProvider(type = DeleteMapperPlusProvider.class,method="dynamicSQL")
		Integer delSomeByCondition(T condition);
}
